02. Project Development Guidelines

Getting Started

We have built a local backend development server that your frontend will communicate with. The server is built in Node, but it is very simple. You will not need to edit the server code; instead, your frontend code will talk to the server using documented API endpoints. You can use the server's endpoints to manage storing, reading, updating, and deleting data for your application. We're providing you the backend server, but the frontend portion of the project you'll be developing from scratch, yourself!

You have a few options to start developing this project:

  • using your preconfigured Workspace
  • working locally on your own computer

Your Workspace is a development environment integrated into the Udacity Classroom and comes preconfigured with the Readable project's backend server and a pre-scaffolded frontend using Create React App. You can both develop your entire in your Workspace as well as submit your project to be reviewed. For more information about your Workspace, check out the Project Workspace Info page.

If you'd like to work locally on your own computer:

  1. Download or fork and clone the starter server repository
  • Install the requirements from the included package.json file: npm install
  • Start the server with node server
  • You can find the API documentation for the server in the README, or by sending a GET request to the server root while it's running.
  • In a separate folder, develop your Readable app. You can use Create React App to bootstrap your application, or you can install and configure React, Webpack and Babel on your own. Remember to install redux and react-redux as well.

Specific Requirements

Use React to build your application UI. Remember that composition is key. It’s rarely a mistake to break a component into smaller pieces. Look for opportunities to reuse your components. We recommend using create-react-app to bootstrap your project, but it is not required for this project.

While the focus (and specification) of this project is based on functionality, rather than styling, please ensure that your app is presentable and easy to navigate.

Use Redux to manage your application state. This includes all user actions and responses from the API server. You may use component state to handle form input fields and controlled components. Otherwise, the rest of the state for your application should be controlled by your reducers.

How will this project be evaluated?

Your project will be evaluated by a Udacity Code Reviewer according to the rubric. Please be sure to review it thoroughly before you submit your project.

The project rubric is your source of truth while building this project. Save it to your browser bookmarks so you can access it easily!

Submission Instructions

Before submitting, please verify that your project:

If you choose to develop your project in your Workspace, you can submit directly from your Workspace. When you're ready to submit, just click the "Submit Project" button.

If you choose to develop on your local machine, you will need to:

  1. Push your project to GitHub, making sure to push the master branch.
  • On the project submission page choose the option "Submit with GitHub"
  • Select the repository for this project (you may need to connect your GitHub account first).